2027. Точка и окружность

 

Определите, принадлежит ли точка A, заданная координатами (x, y), части плоскости, ограниченной окружностью радиусом R с центром в точке O(x0, y0).

 

Вход. В первой строке заданы координаты точки A(x, y). Во второй строке заданы три целые числа: радиус окружности R (0 < R ≤ 200) и координаты её центра O(x0, y0). Все координаты целые, значения которых по модулю не превышают 200.

 

Выход. Вывести YES, если точка принадлежит указанной части плоскости, NO если не принадлежит, и ON BORDER – если нам "повезло" и точка принадлежит кривой, описывающей окружность.

 

Пример входа

Пример выхода

2 3

5 1 2

YES

 

 

РЕШЕНИЕ

геометрия

 

Анализ алгоритма

Заданы точка A(x, y) и окружность радиусом R с центром в точке O(x0, y0).

Точка A лежит внутри окружности, если

(xx0)2 + (yy0)2 < R2

Точка A лежит вне окружности, если

(xx0)2 + (yy0)2 > R2

Точка A лежит на окружности, если

(xx0)2 + (yy0)2 = R2

 

Реализация алгоритма

Читаем входные данные.

 

scanf("%d %d",&x,&y);

scanf("%d %d %d",&r,&x0,&y0);

 

Выводим ответ в зависимости от местоположения точки и окружности.

 

if ((x - x0) * (x - x0) + (y - y0) * (y - y0) < r * r)

  puts("YES"); else

if ((x - x0) * (x - x0) + (y - y0) * (y - y0) > r * r)

  puts("NO");

else

  puts("ON BORDER");